package com.jzo2o.health.model;

import com.jzo2o.health.enums.OrderPayStatusEnum;
import com.jzo2o.health.enums.OrderStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 通用订单更新DTO
 * @author JIAN
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderUpdateStatusDTO {
    /**
     * 订单id
     */
    private Long id;

    /**
     * 原订单状态
     */
    private OrderStatusEnum originStatus;

    /**
     * 目标订单状态
     */
    private OrderStatusEnum targetStatus;

    /**
     * 支付状态
     */
    private OrderPayStatusEnum payStatus;

    /**
     * 支付时间
     */
    private LocalDateTime payTime;

    /**
     * 支付服务交易单号
     */
    private Long tradingOrderNo;

    /**
     * 第三方支付的交易号
     */
    private String transactionId;

    /**
     * 支付服务退款单号
     */
    private Long refundNo;

    /**
     * 第三方支付的退款单号
     */
    private String refundId;

    /**
     * 支付渠道
     */
    private String tradingChannel;
}